package com.hrrt.home.socket.utils;

import com.hrrt.home.socket.model.MsgData;
import com.hrrt.home.socket.model.MsgHead;

public class GetMsgUtil {

    public static byte[] getBytes(String gateId, String roomId, int equipId, String data) {
        MsgHead msgHead = new MsgHead();
        msgHead.setId(56);//消息ID
        msgHead.setMac_id(gateId);
        msgHead.setMac_idt(2);
        msgHead.setnMsg(1234);//流水号
        msgHead.setXxbcount(11223344);
        msgHead.setXx(11223344);//封装项
        MsgData msgData = new MsgData();
        msgData.setMode(65);//消息模式
        msgData.setN(1);//控制设备批次
        msgData.setObj(23);
        msgData.setType(51);
        msgData.setFtype(equipId);
        msgData.setText(1107);
        msgData.setData(data);//消息踢指令数据
        msgHead.setProperties(msgData.getData().getBytes().length);//消息属性

        byte[] bytes1 = ByteTwo.byteMerger(BatyIntUtil.intToBytes(msgHead.getId()),BatyIntUtil.intToBytes(msgData.getData().getBytes().length),msgHead.getMac_id().getBytes(),BatyIntUtil.intToBytes(msgHead.getMac_idt()),BatyIntUtil.intToBytes(msgHead.getnMsg()),BatyIntUtil.intToBytes(msgHead.getXx()),BatyIntUtil.intToBytes(msgHead.getXxbcount()),BatyIntUtil.intToBytes(msgData.getMode()),BatyIntUtil.intToBytes(msgData.getN()),BatyIntUtil.intToBytes(msgData.getObj()),BatyIntUtil.intToBytes(msgData.getType()),BatyIntUtil.intToBytes(msgData.getFtype()),BatyIntUtil.intToBytes(msgData.getText()),msgData.getData().getBytes());
        int count = CRC16.calcCrc16(bytes1);
        System.out.println("校验值"+count);
        byte [] bytes11 = ByteTwo.byteMerger(BatyIntUtil.intToBytes(68),bytes1,BatyIntUtil.intToBytes(count),BatyIntUtil.intToBytes(68));
        return bytes11;
    }

}
